home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Extra 1996 #2 / Amiga Plus CD - 1996 - No. 2 Extra.iso / clarissa1_1-demo / macros / stroboskop.clssa < prev    next >
Text File  |  1995-01-26  |  3KB  |  118 lines

  1. /***********************************************************************
  2.   GADGET: "'Stroboskop'" "6" AUTO TYP: "?"
  3.  
  4.   $DAT >>Stroboskop.clssa<<   05.10.1992 - (C) ProDAD Holger Burkarth
  5.                               20.01.1995 - (C) ProDAD Michael Christoph
  6. ************************************************************************/
  7.  
  8. Options Results
  9. Address clariSSA
  10.  
  11.   FailAt 10
  12.   AltFail=RESULT
  13.  
  14.   GetArea
  15.   PARSE VAR RESULT . "FROM" von "TO" bis .
  16.   von=Strip(von)
  17.  
  18.   Anzahl=bis-von
  19.   IF Anzahl>3 THEN DO
  20.  
  21.     DO FOREVER
  22.       GetAnimInfo
  23.       PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode .
  24.       AnzFarben=2**t - 1
  25.  
  26.       COLRequest "Register 0 TITLE '*** Strobefarbe ***''''Strobefarbe festlegen.'"
  27.       IF RC~=0 THEN LEAVE
  28.       StrobFarbe=RESULT
  29.  
  30.  
  31.       MSRequester "TITLE '*** Stroboskop ***'",
  32.                         "''",
  33.                         "'Bezugsfarbe zur Blitzerzeugung wählen.'",
  34.                   "PTEXT 'Bezugsfarbe frei wählen + Blackstrobe'",
  35.                         "'Bezugsfarbe frei wählen'",
  36.                         "'Bezugsfarbe weiß + Blackstrobe'",
  37.                         "'Bezugsfarbe weiß'"
  38.       IF RC~=0 THEN LEAVE
  39.       IF RESULT > 2 THEN DO
  40.         StrobArt=RESULT-2
  41.         BezR=255
  42.         BezG=255
  43.         BezB=255
  44.       END
  45.       ELSE DO
  46.         StrobArt=RESULT
  47.         COLRequest "Register 0 TITLE '*** Strobefarbe ***''''Bezugsfarbe festlegen.'"
  48.         IF RC~=0 THEN LEAVE
  49.         BezFarbe=RESULT
  50.  
  51.         GetColor BezFarbe
  52.         PARSE VAR RESULT x BezR BezG BezB
  53.       END
  54.  
  55.       INTRequest "'Geben Sie bitte die Anzahl''der Strobs ein.''<< zwischen 1 und "Anzahl" >>'"Anzahl-2
  56.       IF RC~=0 THEN LEAVE
  57.       AnzStrob=RESULT
  58.       IF AnzStrob < 1 | AnzStrob > Anzahl THEN DO
  59.          Message "'Eingegebener Wert ist''nicht zulässig!'"
  60.         LEAVE
  61.       END
  62.  
  63.       BOOLRequest "'Animationsfarben ändern?''Anim: Master''<< von "von" bis "bis" >>'"
  64.       IF RC~=0 | RESULT="NO" THEN LEAVE
  65.  
  66.       RequestStatus OFF
  67.       zz=1
  68.       Lim=Anzahl/AnzStrob
  69.       DO UNTIL von>bis
  70.         IF zz > Lim THEN DO
  71.           zz=0; fa=1
  72.         END
  73.         ELSE fa=0
  74.         ViewFrame COPS von
  75.         IF RC~=0 THEN LEAVE
  76.         IF StrobArt=1 THEN DO
  77.           l=0
  78.           Liste=""
  79.           DO UNTIL l>AnzFarben
  80.             GetColor l
  81.             PARSE VAR RESULT x r g b
  82.             IF l=StrobFarbe THEN DO
  83.               r=r+(BezR-r)*fa
  84.               g=g+(BezG-g)*fa
  85.               b=b+(BezB-b)*fa
  86.             END; ELSE DO
  87.               r=r*fa
  88.               g=g*fa
  89.               b=b*fa
  90.             END
  91.             Liste=Liste l r g b
  92.             l=l+1
  93.           END
  94.           SetColor Liste
  95.         END
  96.         ELSE IF StrobArt=2 THEN DO
  97.           GetColor StrobFarbe
  98.           PARSE VAR RESULT x r g b
  99.           r=r+(BezR-r)*fa
  100.           g=g+(BezG-g)*fa
  101.           b=b+(BezB-b)*fa
  102.           SetColor StrobFarbe r g b
  103.         END
  104.         Record COPS
  105.         IF RC~=0 THEN LEAVE
  106.         von=von+1
  107.         zz=zz+1
  108.       END
  109.       RequestStatus ON
  110.  
  111.       LEAVE
  112.     END
  113.   END
  114.   ELSE Message "'Für einen Strobe-Effekt müssen''min. 4 Frames ausgewählt werden.'"
  115.  
  116.   FailAt AltFail
  117. exit
  118.